Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

aziwork

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aziwork

A simple HTTP client library that serves as a wrapper for making HTTP requests based on XMLHttpRequest.

  • 1.0.0
  • unpublished
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Logo

Aziwork

npm version Downloads License


Table of Contents

Description

Aziwork is a simple HTTP client library that serves as a wrapper for making HTTP requests based on XMLHttpRequest. It simplifies API interactions and web service requests with support for GET, POST, PUT, DELETE, and PATCH methods. It works for front-end and Node.js development, reduces boilerplate code, and offers built-in error handling. This makes it easy to make HTTP requests and improves code readability.

Release-notes

Version 1.0.0


Major Changes:

  • Supports Authentication token
  • Added sample code for auth token from headers in React & Angular.

Minor Changes:

  • Supports Headers Content-type

Patch changes:

  • Added sample code for Headers Content-type data in Angular.

Features

  • Supports TypeScript
AttributesHTTP Request MethodsFunctionality
getGETretrieve data
postPOSTsubmit data
putPUTnew resource/replacer
deleteDELETEremove data
patchPATCHupdater
optionsOPTIONSgiven options

AttributesFunctionality
aziwork or Aziworkmaking HTTP requests
sundertakes a JSON string as input and parses it into a JavaScript object

Installation

To install the Aziwork, you can use the following npm command:

npm install aziwork

Example

React

React component:

Auth Token sample code:

import { useEffect, useState } from 'react';
import Aziwork, { sunder } from 'aziwork';

export const ExampleComponent = () => {
  const [data, setData] = useState(null);

  useEffect(() => {
    const apiUrl = 'https://jsonplaceholder.typicode.com/posts/1'; // Adjust the URL as needed

    // Your authentication token
    const authToken = 'your-auth-token'; // Replace with your actual authentication token

    // Log the DELETE data before sending the request
    console.log('DELETE Request');

    const deleteData = async () => {
      try {
        const response = await Aziwork.delete(apiUrl, {
          headers: {
            'Content-type': 'application/json; charset=UTF-8',
            'Authorization': `Bearer ${authToken}` // Include the token in the headers
          },
        });
        setData(sunder(response));

        // Log the response data in the console
        console.log('Response Data:', JSON.stringify(response));
      } catch (error) {
        console.error(error);
      }
    };

    deleteData();
  }, []);

  return (
    <>
      {data ? (
        <div>
          <h1>Title: {data.title}</h1>
          <p>Body: {data.body}</p>
          <p>User ID: {data.userId}</p>
        </div>
      ) : (
        <p>Loading...</p>
      )}
    </>
  );
};

With Headers Content Type

You can see the data via console.log mode in your browser.

import { useEffect, useState } from 'react';
import Aziwork, { sunder } from 'aziwork';

export const ExampleComponent = () => {
  const [data, setData] = useState(null);

  useEffect(() => {
    const apiUrl = 'https://jsonplaceholder.typicode.com/posts/1';

    // Your data object
    const postData = {
      id: 1,
      title: 'foo',
      body: 'bar',
      userId: 1,
    };

    // Log the PUT data before sending the request
    console.log('PUT Data:', postData);

    const putData = async () => {
      try {
        const response = await Aziwork.put(apiUrl, postData, {
          headers: {
            'Content-type': 'application/json; charset=UTF-8',
          },
        });
        setData(sunder(response));

        // Log the response data in the console
        console.log('Response Data:', JSON.stringify(response));
      } catch (error) {
        console.error(error);
      }
    };

    putData();
  }, []);

  return (
    <>
      {data ? (
        <div>
          <h1>Title: {data.title}</h1>
          <p>Body: {data.body}</p>
          <p>User ID: {data.userId}</p>
        </div>
      ) : (
        <p>Loading...</p>
      )}
    </>
  );
};

More Data

import { useEffect, useState } from 'react';
import Aziwork, { sunder } from 'aziwork';

export const ExampleComponent = () => {
  const [data, setData] = useState([]);

  useEffect(() => {
    const apiUrl = 'https://jsonplaceholder.typicode.com/posts';

    const fetchData = async () => {
      try {
        const response = await Aziwork.get(apiUrl);
        setData(sunder(response)); 
      } catch (error) {
        console.error(error);
      }
    };

    fetchData();
  }, []);

  return (
    <>
      {data ? (
          <div>
          {data.map((post) => (
            <div key={post.id}>
              <h1>Title: {post.title}</h1>
              <p>Body: {post.body}</p>
            </div>
          ))}
          </div>
      ) : (
        <p>Loading...</p>
      )}
    </>
  );
};


One Data

import { useEffect, useState } from 'react';
import Aziwork, { sunder } from 'aziwork';

export const ExampleComponent = () => {

  const [data, setData] = useState(null);

  useEffect(() => {
    const apiUrl = 'https://jsonplaceholder.typicode.com/posts/1';

    const fetchData = async () => {
      try {
        const response = await Aziwork.get(apiUrl);
        setData(sunder(response));
      } catch (error) {
        console.error(error);
      }
    };

    fetchData();
  }, []); 

  return (
    <>
      {data ? (
          <div>
            <h1>Title: {data.title}</h1>
            <p>Body: {data.body}</p>
          </div>
        ) : (
          <p>Loading...</p>
      )}
    </>
  );
};

Angular

Angular component:


Auth Token sample code:

import { Component, OnInit } from '@angular/core';
import Aziwork, { sunder } from 'aziwork';

@Component({
  selector: 'app-example',
  templateUrl: './example.component.html',
  styleUrls: ['./example.component.css']
})
export class ExampleComponent implements OnInit {
  data: any;

  constructor() {}

  ngOnInit() {
    const apiUrl = 'https://jsonplaceholder.typicode.com/posts/1'; // Adjust the URL as needed

    // Your authentication token
    const authToken = 'your-auth-token'; // Replace with your actual authentication token

    // Log the DELETE data before sending the request
    console.log('DELETE Request');

    const deleteData = async () => {
      try {
        // Create a Headers object and set the headers individually
        const headers = new Headers() as any; // Explicitly cast to any
        headers.append('Content-Type', 'application/json; charset=UTF-8');
        headers.append('Authorization', `Bearer ${authToken}`); // Include the token in the headers

        const response = await Aziwork.delete(apiUrl, {
          headers: headers
        });
        this.data = sunder(response);

        // Log the response data in the console
        console.log('Response Data:', response);
      } catch (error) {
        console.error(error);
      }
    };

    deleteData();
  }
}
<div *ngIf="data">
  <h1>Title: {{ data.title }}</h1>
  <p>Body: {{ data.body }}</p>
  <p>User ID: {{ data.userId }}</p>
</div>
<p *ngIf="!data">Loading...</p>

With Headers Content Type

You can see the data via console.log mode in your browser.

import { Component, OnInit } from '@angular/core';
import Aziwork, { sunder } from 'aziwork';

@Component({
  selector: 'app-example',
  templateUrl: './example.component.html',
  styleUrls: ['./example.component.css']
})
export class ExampleComponent implements OnInit {
  data: any;

  constructor() {}

  async ngOnInit() {
    const apiUrl = 'https://jsonplaceholder.typicode.com/posts/1';

    // Your data object
    const postData = {
      id: 1,
      title: 'foo',
      body: 'bar',
      userId: 1
    };

    // Log the PUT data before sending the request
    console.log('PUT Data:', postData);

    // Define the headers as a formatted string
    const headers = 'Content-Type: application/json; charset=UTF-8';

    try {
      const response = await Aziwork.put(apiUrl, postData, {
        headers: headers // Pass headers as a string
      });
      this.data = sunder(response);

      // Log the response data in the console
      console.log('Response Data:', response);
    } catch (error) {
      console.error(error);
    }
  }
}
<div *ngIf="data; else loading">
  <h1>Title: {{ data.title }}</h1>
  <p>Body: {{ data.body }}</p>
  <p>User ID: {{ data.userId }}</p>
</div>

<ng-template #loading>
  <p>Loading...</p>
</ng-template>

More Data

import { Component, OnInit } from '@angular/core';
import Aziwork, { sunder } from 'aziwork';

@Component({
  selector: 'app-example',
  templateUrl: './example.component.html',
  styleUrls: ['./example.component.css']
})
export class ExampleComponent implements OnInit {
  data: any[] = [];

  async ngOnInit() {
    const apiUrl = 'https://jsonplaceholder.typicode.com/posts';

    try {
      const response = await Aziwork.get(apiUrl);
      this.data = sunder(response);
    } catch (error) {
      console.error(error);
    }
  }
}
<div *ngIf="data.length > 0; else loading">
  <div *ngFor="let post of data">
    <h1>Title: {{ post.title }}</h1>
    <p>Body: {{ post.body }}</p>
  </div>
</div>

<ng-template #loading>
  <p>Loading...</p>
</ng-template>

One Data

import { Component, OnInit } from '@angular/core';
import Aziwork, { sunder } from 'aziwork';

@Component({
  selector: 'app-example',
  templateUrl: './example.component.html',
  styleUrls: ['./example.component.css']
})
export class ExampleComponent implements OnInit {
  data: any;

  async ngOnInit() {
    const apiUrl = 'https://jsonplaceholder.typicode.com/posts/1';

    try {
      const response = await Aziwork.get(apiUrl);
      this.data = sunder(response);
    } catch (error) {
      console.error(error);
    }
  }
}

example.component.html

<div>
  <div *ngIf="data; else loadingTemplate">
    <h1>Title: {{ data.title }}</h1>
    <p>Body: {{ data.body }}</p>
  </div>
  <ng-template #loadingTemplate>
    <p>Loading...</p>
  </ng-template>
</div>

License

MIT


Author

Demjhon Silver

Keywords

FAQs

Package last updated on 08 Oct 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc